class BusinessItem {
  final String businessId;
  final String businessName;
  final String businessExplain;
  final String businessImg;
  final double starPrice;
  final double deliveryPrice;
  int? userCartCount;
  double? userCartTotalPrice;

  BusinessItem(
      {
    required this.businessId,
    required this.businessName,
    required this.businessExplain,
    required this.businessImg,
    required this.starPrice,
    required this.deliveryPrice,
        this.userCartCount = 0,
        this.userCartTotalPrice = 0
  });

  // factory关键字用于创建一个工厂构造函数。工厂构造函数在创建对象时可以返回一个已经存在的实例，也可以返回一个子类的实例。在上面的代码中，factory User.fromJson是一个工厂构造函数，
  // 用于从Map<String, dynamic>类型的JSON数据中创建一个User对象。

  // 使用工厂构造函数的好处在于可以控制对象的创建过程，例如可以在工厂构造函数中实现对象的缓存、对象池等机制，从而提高性能或实现一些特定的逻辑。
  // 如果不使用工厂构造函数，也可以实现相同的功能，但是需要在类的构造函数中直接处理JSON数据的转换，而不是将这个过程封装在一个独立的工厂构造函数中。使用工厂构造函数可以使代码更加清晰、模块化，并且有利于代码的维护和扩展。
  factory BusinessItem.fromJson(Map<String, dynamic> json) {//一般是处理接口返回的。
    return BusinessItem(
        businessId: json["businessId"],
        businessName: json["businessName"],
        businessExplain: json['businessExplain'],
        businessImg: json['businessImg'],
        starPrice: json["starPrice"],
        deliveryPrice: json["deliveryPrice"]);
    // userCartCount:0; //这里这个不用写也行，因为在构造的时候的默认值就是0。
    // 而且最重要的是：接口返回的字段里面没有这个
  }
}
